package top.fangw.tenant.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import top.fangw.tenant.pojo.dto.DatabasePageQueryDto;
import top.fangw.tenant.pojo.entity.DatabaseInfo;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 * 用途：保存系统中业务数据库的信息，用于创建租户数据库使用 服务类
 * </p>
 *
 * @author fangw
 * @since 2024-01-16
 */
public interface IDatabaseInfoService extends IService<DatabaseInfo> {

    /**
     * 添加数据库信息
     * @param databaseInfo 数据库信息
     */
    void add(DatabaseInfo databaseInfo);

    /**
     * 修改数据库信息
     * @param databaseInfo 数据库信息
     */
    void updateInfo(DatabaseInfo databaseInfo);

    /**
     * 删除数据库信息
     * @param id 数据库id
     */
    void delete(String id);

    /**
     * 根据id查询数据库信息
     * @param id 数据库id
     * @return 数据库信息
     */
    DatabaseInfo queryById(String id);

    /**
     * 分页查询数据库信息
     * @param databaseInfoService 数据库信息服务
     * @return 数据库信息分页
     */
    IPage<DatabaseInfo> listPage(DatabasePageQueryDto databasePageQueryDto);
}
